﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ReadyApps.Wiki;
using ReadyApps.Data.Wiki;
using ReadyApps.Wiki.ViewModels;

namespace ReadyAppsTest.Wiki
{
    class TestWikiPageState : IWikiPageState
    {
        #region Properties

        public bool IsInitialized { get; set; }

        public bool SiteFound { get; set; }

        public bool PageFound { get; set; }

        public int PageID { get; set; }

        public int RevisionNumber { get; set; }

        public WikiPageMode PageMode { get; set; }

        public IWikiViewModel ViewModel { get; set; }

        #endregion

        #region Method Call Parameters

        public int Initialize_pageID { get; private set; }
        public int InitializeSiteNotFound_CallCount { get; private set; }
        public int InitializePageNotFound_CallCount { get; private set; }
        public WikiPageMode ChangePageMode_newMode { get; private set; }
        public int Reset_CallCount { get; private set; }

        #endregion

        #region Public Methods

        public void Initialize(int pageID)
        {
            Initialize_pageID = pageID;
        }

        public void InitializeSiteNotFound()
        {
            InitializeSiteNotFound_CallCount++;
        }

        public void InitializePageNotFound()
        {
            InitializePageNotFound_CallCount++;
        }

        public void ChangePageMode(WikiPageMode newMode)
        {
            ChangePageMode_newMode = newMode;
        }

        public void Reset()
        {
            Reset_CallCount++;
        }

        #endregion
    }
}
